/**
 * @description 定义一些给用户展示消息提示的辅助函数
 */
import IconLoading from '@/components/icons/IconLoading.vue';
import { h } from 'vue';

/**
 * 用于在加载异步组件等场景下，显示一个 ElMessage 加载中的提示，注意这个提示不会自动关闭，需要手动关闭
 * @param msg 提示消息
 * @returns 返回一个 ElMessage 实例，你必须调用它的 close 方法来关闭提示
 */
export function showLoadingMsg(msg: string = '加载中...') {
  return ElMessage({
    message: msg,
    plain: true,
    icon: h('span', [
      h(IconLoading), // 将 IconLoading 组件嵌入并渲染为 SVG 图标
    ]),
    customClass: 'loading_msg',
    duration: 0,
  });
}
